home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / pluginy Firefox / 8174 / 8174.xpi / chrome / antbar.jar / content / grabber / parsers / parsergeneric.js < prev    next >
Text File  |  2009-12-30  |  1KB  |  71 lines

  1.  
  2. // 
  3. //  downloadergeneric.js
  4. //  firefox
  5. //  
  6. //  Created by Zak on 2008-06-17.
  7. //  Copyright 2008-2009 Ant.com. All rights reserved.
  8. // 
  9.  
  10.  
  11. /**
  12.  * Inherit from ParserInterface
  13.  */
  14. var AntParserGeneric = function () {}
  15. AntParserGeneric.prototype = new AntParser;
  16. AntParser.prototype.constructor = AntParser;
  17.  
  18.  
  19. /**
  20.  * Parse page content and find flvs
  21.  */
  22. AntParserGeneric.prototype.isFlvAvailable = function ()
  23. {
  24.     var re = /(http:\/\/[^;><'"]+\.flv)(?=[?&"'\s])/gi;
  25.     var html;
  26.     
  27.     try
  28.     {
  29.         html = this.getCurrentDocument().getElementsByTagName("html")[0].innerHTML;
  30.     }
  31.     catch (e)
  32.     {
  33.         return false;
  34.     }
  35.     this.flvArr = new AntArray();
  36.  
  37.     this.flvArr.fromArray(html.match(re));
  38.     if (!this.flvArr)
  39.         return false;
  40.     this.flvArr = this.flvArr.uniq();
  41.     
  42.     return this.flvArr.length > 0;
  43. }
  44.  
  45. /**
  46.  * Interface implementation
  47.  */
  48. AntParserGeneric.prototype.getFlvArray= function ()
  49. {
  50.     if (this.isFlvAvailable())
  51.     {
  52.         var loc = AntLib.safeGet(this.getCurrentDocument(), "location");
  53.  
  54.         if (!loc)
  55.             return false;
  56.  
  57.         var host = AntLib.getSiteName(loc);
  58.         var title = AntLib.safeGet(this.getCurrentDocument(), "title");
  59.         var arr = new AntArray();
  60.         
  61.         for (var i = 0; i < this.flvArr.length; i++)
  62.         {
  63.             var link =  new AntFlvLink({origin:host, url:this.flvArr[i], name:title, doc:this.getCurrentDocument()});
  64.             arr.push(link);
  65.         }
  66.         return arr;
  67.     }
  68.  
  69.     return null;
  70. }
  71.